RabbitMQ 安装与配置
RabbitMQ 是一个开源的 消息代理(Message Broker),使用 AMQP(高级消息队列协议) 进行消息传递。它广泛用于解耦应用程序、提高系统的可扩展性、可靠性和高效性。RabbitMQ 支持多种协议(如 AMQP、MQTT、STOMP),并提供丰富的客户端支持,适用于各种编程语言。
安装 RabbitMQ
RabbitMQ 是基于 Erlang 开发的,因此安装 RabbitMQ 之前需要先安装 Erlang。
进入RabbitMQ官网
https://www.rabbitmq.com/docs/install-windows#installer
查看对应Erlan的版本
https://www.rabbitmq.com/docs/which-erlang
(装之前必须看这页——Erlang 和 RabbitMQ 版本强绑定,别无脑装最新 Erlang,装了多半不兼容)
下载Erlang
https://www.erlang.org/downloads
安装Erlang
默认选项,点击“Next"
修改安装文件夹,点击“Next"
install
安装完成 “Close"
配置Erlang系统环境变量
-
右键"此电脑"→ 属性 → 高级系统设置 → 环境变量
-
新建系统变量
ERLANG_HOME,值为安装路径如:D:\develop\Erlang OTP
-
编辑
Path,添加%ERLANG_HOME%\bin
-
重启命令行,执行
erl可查看erlang版本
安装RabbitMQ
默认选项,点击“Next"
修改安装路径,“Next"
允许两个提示后,继续"Next"
默认勾选启动RabbitMQ服务,点击“Finish"
配置RabbitMQ环境变量
-
右键"此电脑"→ 属性 → 高级系统设置 → 环境变量
-
新建系统变量
RABBITMQ_SERVER,值为安装路径如:D:\develop\RabbitMQ Server\rabbitmq_server-4.2.1
-
编辑
Path,添加%RABBITMQ_SERVER%\sbin
启动RabbitMQ服务
当windows服务显示RabbitMQ正在运行,就表示安装成功,如果没有启动,这里需要右键点击启动
可能出现的问题
如果启动时报错“错误1067:进程意外终止”
应该是端口号“15672”被占用了
先执行:netstat -ano | findstr 15672
然后用我们自定义的killport 15672释放端口
启动RabbitMQ管理插件
进入RabbitMQ的sbin目录 cmd
输入命令rabbitmq-plugins enable rabbitmq_management来启用管理插件,这将允许你通过web界面来管理RabbitMQ
成功安装输出如下:
验证RabbitMQ安装:
打开浏览器 访问http://localhost:15672/
无法访问? 问题可能在:RabbitMQ 管理界面(15672)无法访问问题排查与解决
默认的用户名和密码都是guest (注意:guest用户只允许从localhost访问)


配置远程访问
创建用户
由于guest用户只能本地访问,所以我们需要新增一个admin用户,选中超级管理员权限
六种不同的角色配置
| 角色 | 查看资源 | 创建/删除队列 | 管理策略 policies | 管理用户 | 管理集群/节点 | Web 登录 |
|---|---|---|---|---|---|---|
| Admin | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ 全功能 |
| Monitoring | ✔ 所有 vhost | ✖ | ✖ | ✖ | ✖ | ✔ 只读 |
| Policymaker | ✔ | ✖ | ✔ | ✖ | ✖ | ✔ 仅策略 |
| Management | ✔(自己的 vhost) | ✔ | ✖ | ✖ | ✖ | ✔ 业务管理 |
| Impersonator | 依赖被 impersonate 用户 | 依赖被 impersonate 用户 | 依赖 | 依赖 | 依赖 | 很少独立登录 |
| None | ✖ 或仅 Overview | ✖ | ✖ | ✖ | ✖ | 可以登录但无界面内容 |
| 使用场景 | 推荐角色 |
|---|---|
| DevOps / 中间件管理员 | Admin |
| 查看集群状态的监控系统 | Monitoring |
| 设置 TTL/DLX/镜像策略 | Policymaker |
| 业务系统自己的 vhost 管理者 | Management |
| APP、微服务连接 RabbitMQ | None |
| API 网关代理 | Impersonator |
用户授权
此时这个账户是没有权限的,需要授权,点击“admin"
点击“set permission"和”Set topic permission“
没问题了
Virtual Hosts配置
每个Vhost相当于一个相对独立的RabbitMQ服务器,Vhost用作逻辑隔离,分别管理Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。一个实例下可以有多个Vhost,一个Vhost里可以有若干个Exchange和Queue,生产者和消费者连接RabbitMQ实例时,需要指定一个Vhost。详见:https://www.rabbitmq.com/docs/vhosts
创建Virtual Hosts
在顶部栏选中Admin,进入Admin页面,在右侧导航栏选择”Virtual Host“
在Add a new virtual host区域 输入Vhost名称 单击 "Add virtual host"
创建成功
权限分配
点击对应Vhost的名字 进入配置页面
| 权限字段 | 含义 | 控制的操作 | 示例 .* 代表什么 |
|---|---|---|---|
| Configure regexp | 是否允许用户“声明/创建/删除”资源 | 队列(queue)、交换机(exchange)、绑定 | .* = 允许配置所有资源 |
| Write regexp | 是否允许用户“写入”消息 | 发布消息(publish)到 exchange | .* = 可向所有交换机 publish |
| Read regexp | 是否允许用户“读取”消息 | 从 queue 消费消息(consume) | .* = 可从所有队列 consume |
卸载(想重装/换版本时)
顺序反了会残留服务卸不干净:①rabbitmq-service stop 停服务(或服务面板停)→ rabbitmq-service remove 删服务 → 卸载 RabbitMQ → 再卸 Erlang → 最后手动删 C:\Users\你的用户名\AppData\Roaming\RabbitMQ(数据目录)。
⬅️ Nacos 安装与配置 🏠 00-工具与环境 ➡️ Maven 安装与配置
💬 评论